One type of industrial control process is referred to as a batch process, which involves subjecting raw materials to processing steps using one or more pieces of equipment to produce a “batch” of product. Efforts to automate batch processing have led to the formation of standards committees by members of industries involved in batch processing and suppliers of batch processing equipment, among others. The general purpose of these standards committees has been to define uniform standards for automated batch processing. One such standard has been promulgated by the International Society for Measurement and Control, an international organization concerned with issues of process control. This standard is entitled Batch Control Part 1: Models and Terminology and is often referred to as the ISA S88.01-1995 standard (or “S88” for purposes of this application). Although S88 was developed to describe batch processes, it has broad applicability to discrete and continuous processes.
S88 standard defines models of equipment and procedures for use in automated batch processes, as well as terminology for use in referring to those models and their elements. The S88 standard defines a “batch process” as a process that leads to the production of finite quantities of material by subjecting quantities of input materials to an ordered set of processing activities over a finite period of time using one or more pieces of equipment. A “batch” is defined as the material that is being produced or has been produced by a single execution of a batch process.
Batch-processing equipment (i.e., controllable elements such as valves, heaters, mixers, and so forth) is operated according to procedures to produce a batch. Generally, such equipment is referred to synonymously as equipment, equipment modules, processing equipment, or physical elements. The procedures to operate such physical elements are often referred to by the S88.01 standard as the “procedural model.” According to the S88.01 standard, the procedural model is structured as a hierarchical ranking of procedures, with the highest level encompassing each of the lower levels, the next highest level encompassing each of the levels below it, and so on. Typically, the levels of the S88.01 procedural model of a particular application are, in descending order: the “procedure;” the “unit procedure;” the “operation;” and the “phase.”
The term “procedural element” generally refers to components that employ any of the levels of the S88.01 procedural model, not just to those of the “procedure” level or any other single level of the procedural model. The highest-level procedural element of interest is referred to as a procedure, which is made up of one or more unit procedures. Each unit procedure is in turn made up of one or more operations, which are each in turn made up of one or more phases. The S88.01 procedural model does not preclude definition and use of other hierarchical levels, nor does it require that each level be present in particular applications. Rather, one of the intents of the standard is to provide a broad, standardized model for describing the procedures followed in automated control, which may include batch, continuous and discrete.
Prior systems that employed standard models such as S88 and the like often generated code to determine available states in a process. For example, one module may need to know that a vessel is empty or clean before adding new materials to the vessel. This generally required the designer to write code to determine the desired state and often the state was inferred from a previous process. Inferred states have the additional disadvantage of not providing certainty regarding the actual state of a component. For example, it may be inferred that a vessel was clean from a command generated to clean the vessel, yet actual knowledge of the vessel's cleanliness or state is not directly known.